nldas_nest <- read_rds("data/nldas_nest.rds")
nldas_nest
## # A tibble: 350 x 3
##    installation    variable           data
##    <chr>           <chr>    <list<df[,2]>>
##  1 eglin_afb       TMP       [258,901 x 2]
##  2 fort_benning_ga TMP       [258,901 x 2]
##  3 fort_bliss      TMP       [258,901 x 2]
##  4 fort_bragg      TMP       [258,901 x 2]
##  5 fort_campbell   TMP       [258,901 x 2]
##  6 fort_carson     TMP       [258,901 x 2]
##  7 fort_drum       TMP       [258,901 x 2]
##  8 fort_gordon     TMP       [258,901 x 2]
##  9 fort_hood       TMP       [258,901 x 2]
## 10 fort_jackson    TMP       [258,901 x 2]
## # ... with 340 more rows

https://cran.rstudio.com/web/packages/sweep/vignettes/SW01_Forecasting_Time_Series_Groups.html

Create zoo timeseries

# Function to convert hourly `dttm` to a time series (zoo) object

make_ts = function(df) {
  zoo::zoo(x = df[["value"]],
           order.by = df[["local_dttm"]],
           frequency = 24)
}


make_ts(nldas_nest$data[[1]]) %>% dygraph() 

# Map zoo ts function over each location
TMP_ts <-
  nldas_nest %>% 
    filter(variable == "TMP") %>%
    mutate(data_ts = 
      purrr::map(data, make_ts))

Create xts timeseries

# Create `xts` time series


tmp_f_ts <-
  nldas_nest %>% 
    filter(variable == "tmp_f") %>%
    mutate(data_ts = 
      purrr::map(data, timetk::tk_xts))
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
## Warning in tk_xts_.data.frame(data = data, select = select, date_var =
## date_var, : Non-numeric columns being dropped: local_dttm
## Using column `local_dttm` for date_var.
tmp_f_ts
## # A tibble: 25 x 4
##    installation    variable           data data_ts
##    <chr>           <chr>    <list<df[,2]>> <list> 
##  1 eglin_afb       tmp_f     [258,901 x 2] <xts>  
##  2 fort_benning_ga tmp_f     [258,901 x 2] <xts>  
##  3 fort_bliss      tmp_f     [258,901 x 2] <xts>  
##  4 fort_bragg      tmp_f     [258,901 x 2] <xts>  
##  5 fort_campbell   tmp_f     [258,901 x 2] <xts>  
##  6 fort_carson     tmp_f     [258,901 x 2] <xts>  
##  7 fort_drum       tmp_f     [258,901 x 2] <xts>  
##  8 fort_gordon     tmp_f     [258,901 x 2] <xts>  
##  9 fort_hood       tmp_f     [258,901 x 2] <xts>  
## 10 fort_jackson    tmp_f     [258,901 x 2] <xts>  
## # ... with 15 more rows
# Sample time series dynamic graph

tmp_f_ts$data_ts[[1]] %>% 
  dygraph(main = paste0(tmp_f_ts$installation[1], " - ", tmp_f_ts$variable[1]))